#include "NRF.h"


// 构造函数，传入CE和CSN引脚,同时用SPI指针构造RF24对象
NRF::NRF(int cePin, int csnPin)
  : radio(cePin, csnPin) {
  SPIClass* nrf_spi = new SPIClass(1);  // 创建SPI指针（共有两个SPI资源, 0-> QSPI 和 1-> FSPI ）
  nrf_spi->begin(4, 2, 3);              // 定义FSPI的引脚 (SCK:4, MISO:2, MOSI:3)
  radio.begin(nrf_spi);                 // 默认使用的FSPI  CS:10, MOSI:11, CLK:12, MISO:13
}


// 初始化, 传入遥控器编号，设置天线功率，低到高：0-3   0：-16dBm 1：-12dBm 2：-6dBm 3：0dBm
void NRF::init(int conID, uint8_t PALevel) {
  _conID = conID;
  radio.openReadingPipe(0, _addresses[!_conID]);  // 接收端打开通信通道
  radio.setPALevel(PALevel);                      // 设置通信功率，参数可选：RF24_PA_MIN, RF24_PA_LOW, RF24_PA_HIGH, RF24_PA_MAX
  radio.startListening();                         // 开始监听，即设置为接收端
}